/*
  最远点对
  题目描述
    小杨有⼀棵包含 n 个节点的树，这棵树上的任意⼀个节点要么是白色，要么是黑色。
    小杨想知道相距最远的一对不同颜色节点的距离是多少。
  输入格式
    第一行包含⼀个正整数 n，代表树的节点数。
    第二行包含 n 个非负整数 a1, a2, ⋯, an（对于所有的 1 ≤ i ≤ n，均有 ai 等于 0 或 1），
      其中如果 ai = 0，则节点 i 的颜色为白色；
          如果 ai = 1，则节点 i 的颜色为黑色。
    之后 (n−1) 行，每行包含两个正整数 xi, yi，代表存在一条连接节点 xi 和 yi 的边。

    保证输入的树中存在不同颜色的点。
  输出格式
    输出⼀个整数，代表相距最远的一对不同颜色节点的距离。
  样例1
    输入
      5
      0 1 0 1 0
      1 2
      1 3
      3 4
      3 5
    输出
      3
    解释
      相距最远的不同颜色的一对节点为节点 2 和 5。
  数据范围
    子任务   数据点占比     n           ai           特殊条件
      1         30       ≤ 10^5     0 ≤ ai ≤ 1      树的形态为一条链
      2         30       ≤ 10^3     0 ≤ ai ≤ 1
      3         40       ≤ 10^5     0 ≤ ai ≤ 1

    对于全部数据，保证有 1 ≤ n ≤ 10^5，0 ≤ ai ≤ 1。
*/